#ifndef VECTOR_H
#define VECTOR_H

#include <iostream>

#include "VectorUtil.h"

struct Vector2D 
{
	float x, y;

	static Vector2D Add(const Vector2D& left, const Vector2D& right);
	static Vector2D Substract(const Vector2D& left, const Vector2D& right);
	static Vector2D Scale(const Vector2D& vect, const float scale);
	static void MoveBy(const Vector2D& by, Vector2D& toMove);
	static float GetPolarAngleDeg(const Vector2D& vect);
	static float AngleBetweenDeg(const Vector2D& left, const Vector2D& right);
	static float Length(const Vector2D& vect);
	static float LengthSq(const Vector2D& vect);
	static bool Normalize(Vector2D& vect);
	static void ScaleBy(Vector2D& vect, const float scale);
	static Vector2D GetVectorByAngleDeg(const float angle);
	static bool Equals(const Vector2D& left, const Vector2D& right);
};

#endif